package com.yelaoshi.service;

import com.yelaoshi.domain.SysUser;
import com.yelaoshi.dto.SysUserDto;
import com.yelaoshi.vo.PageInfo;

/**
 * 用户的接口
 */
public interface UserService {

    /**
     * 使用用户名查询用户
     *
     * @param username 用户的名称
     * @return 数据库里面的用户对象
     */
    SysUser findUserByUsername(String username);

    /**
     * 新增一个用户
     *
     * @param dto 用户的数据载体
     * @return 是否新增成功
     */
    Boolean addUser(SysUserDto dto);

    /**
     * 修改用户
     *
     * @param dto 用户的数据载体
     * @return 是否修改成功
     */
    Boolean updateUser(SysUserDto dto);

    /**
     * 分页查询用户对象
     *
     * @param dto 查询的条件载体
     * @return 分页对象
     */
    PageInfo<SysUser> findByPage(SysUserDto dto);

    /**
     * 批量删除用户
     * @param ids 要删除的用户的结婚
     * @return 是否删除成功了
     */
    Boolean batchDelete(Integer[] ids);
}
